Computer systems include the use of non-volatile storage devices to store data such as device configuration information and other sensitive information like serial numbers, identifiers and cryptographic keys. The non-volatile storage devices may include non-volatile read-only memories (ROMs), including electrically erasable programmable read-only memories (EEPROMs), that are used to store read-only code or other read-only information, as mentioned above. In some instances, updated or new data may be written to the non-volatile storage devices. It may be desirable to prevent against malicious or accidental reprogramming of the non-volatile storage device. It also may be desirable to update or write new data to the non-volatile storage device that is trusted.